VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "H90TurnTranOT"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'
'   Copyright (c) 2005-06, Intergraph Corporation. All rights reserved.
'
'   H90TurnTranOT.cls
'   ProgID:         SP3DH90TurnTranOffsetT.H90TurnTranOT
'   Author:         NN
'   Creation Date:  Sunday, May 29, 2005
'   Description:    HVAC 90 degree Turn Transition with Offset (eccentric, flush with bottom of duct), and Width transitions to Depth;
'                   Created with Skinning Surface: 2 cross sections and 4 traces passing by all points of cross sections.
'
'   Change History:
'   dd.mmm.yyyy     who     change description
'   -----------     ---     ------------------
'   29.Mar.2006     kkk CR-92030  Eccentric Turn Transition
'   07.Sep.2006     dkl             TR-104418 Added 'parPlaneOfFlip' to the Inputs.
'  08.SEP.2006     KKC  DI-95670  Replace names with initials in all revision history sheets and symbols
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Option Explicit

Private Const MODULE = "H90TurnTranOT:"  'Used for error messages

Private m_oSymbolHelper As IJSymbolHelper
    
' Declaration of the User Symbol Services interface
Implements IJDUserSymbolServices


Private Sub Class_Initialize()
    
    Const METHOD = "Class_Initialize:"
    On Error GoTo ErrorHandler
    
    Set m_oSymbolHelper = New SymbolServices
    m_oSymbolHelper.ProjectName = "SP3DH90TurnTranOffsetT"
    m_oSymbolHelper.ClassName = "H90TurnTranOT"
    
' Inputs
    m_oSymbolHelper.NumInputs = 9
    m_oSymbolHelper.AddInputDef 1, "Width", "Duct Width at Port 1", 0.5
    m_oSymbolHelper.AddInputDef 2, "Depth", "Duct Depth at Port 1", 0.4
    m_oSymbolHelper.AddInputDef 3, "Width2", "Duct Width a Port 2", 0.8
    m_oSymbolHelper.AddInputDef 4, "Depth2", "Duct Depth at Port 2", 0.3
    m_oSymbolHelper.AddInputDef 5, "ElbowThroatRadius", "Turn Throat Radius", 0.04
    m_oSymbolHelper.AddInputDef 6, "InsulationThickness", "Insulation Thickness", 0.025
    m_oSymbolHelper.AddInputDef 7, "FlipComponent", "Flip Component", 2
    m_oSymbolHelper.AddInputDef 8, "AlignComponent", "Align Component", 2
    m_oSymbolHelper.AddInputDef 9, "PlaneOfFlip", "Plane of Flip", 0

' Outputs
    m_oSymbolHelper.NumOutputs = 4
    m_oSymbolHelper.AddOutputDef 1, "TurnTransition", "Turn Transition Skinning Surface", SimplePhysical
    m_oSymbolHelper.AddOutputDef 2, "HTTransitionPort1", "HVAC Turn Transition Port 1", SimplePhysical
    m_oSymbolHelper.AddOutputDef 3, "HTTransitionPort2", "HVAC Turn Transition Port 2", SimplePhysical
    m_oSymbolHelper.AddOutputDef 4, "TransitionInsulated", "Turn Transition Insulated", Insulation

' Aspects
    m_oSymbolHelper.NumAspects = 2
    m_oSymbolHelper.AddAspectDef 1, "SimplePhysical", "Physical", SimplePhysical
    m_oSymbolHelper.AddAspectDef 2, "Insulation", "Insulation", Insulation
    
    Exit Sub
    
ErrorHandler:
   Err.Raise Err.Number, Err.Source & " " & METHOD, Err.Description, _
    Err.HelpFile, Err.HelpContext

End Sub

Private Sub Class_Terminate()
    Set m_oSymbolHelper = Nothing
End Sub

' note that the rest of the code is generated by the Symbol Wizard and should not need to be modified
Public Function IJDUserSymbolServices_InstanciateDefinition( _
                ByVal CodeBase As String, _
                ByVal defParameters As Variant, _
                ByVal ActiveConnection As Object) As Object
    ' call symbol services default implementation of this method
    Const METHOD = "IJDUserSymbolServices_InstanciateDefinition:"
On Error GoTo Errx
    Set IJDUserSymbolServices_InstanciateDefinition = m_oSymbolHelper.InstanciateDefinition(CodeBase, defParameters, ActiveConnection)
    
    Exit Function

Errx:
    Err.Raise Err.Number, Err.Source & " " & METHOD, Err.Description, _
    Err.HelpFile, Err.HelpContext
End Function
Public Function IJDUserSymbolServices_GetDefinitionName(ByVal definitionParameters As Variant) As String
Const METHOD = "IJDUserSymbolServices_GetDefinitionName:"
  On Error GoTo Errx
      IJDUserSymbolServices_GetDefinitionName = m_oSymbolHelper.ProjectName + "." + m_oSymbolHelper.ClassName
    
    Exit Function

Errx:
    Err.Raise Err.Number, Err.Source & " " & METHOD, Err.Description, _
    Err.HelpFile, Err.HelpContext
End Function

Public Sub IJDUserSymbolServices_InitializeSymbolDefinition(ByRef pSymbolDefinition As IJDSymbolDefinition)
Const METHOD = "IJDUserSymbolServices_InitializeSymbolDefinition:"
On Error GoTo Errx
    m_oSymbolHelper.InitializeSymbolDefinition pSymbolDefinition
Exit Sub

Errx:
    Err.Raise Err.Number, Err.Source & " " & METHOD, Err.Description, _
    Err.HelpFile, Err.HelpContext
      
End Sub

Public Sub IJDUserSymbolServices_InvokeRepresentation(ByVal sblOcc As Object, _
                    ByVal repName As String, _
                    ByVal outputcoll As Object, _
                    ByRef arrayOfInputs())
Const METHOD = "IJDUserSymbolServices_InvokeRepresentation:"
On Error GoTo Errx
    m_oSymbolHelper.InvokeRepresentation sblOcc, repName, outputcoll, arrayOfInputs
        
Exit Sub

Errx:
    Err.Raise Err.Number, Err.Source & " " & METHOD, Err.Description, _
            Err.HelpFile, Err.HelpContext
End Sub

Public Function IJDUserSymbolServices_EditOccurence(ByRef pSymbolOccurence As Object, ByVal transactionMgr As Object) As Boolean
Const METHOD = "IJDUserSymbolServices_EditOccurence:"
On Error GoTo Errx
    ' The definition uses the generic EditOccurrence command
    IJDUserSymbolServices_EditOccurence = False
        Exit Function

Errx:
    Err.Raise Err.Number, Err.Source & " " & METHOD, Err.Description, _
            Err.HelpFile, Err.HelpContext

End Function
